package com.umariana.ClinicaVeterinaria.InterfazGrafica;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;

import com.umariana.ClinicaVeterinaria.mundo.Propietario;

public class DialogoConsultarSaldoCuenta extends JDialog implements ActionListener{

	/**
	 * serialisable
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * panel contenido
	 */
	private final JPanel contentPanel = new JPanel();
	/**
	 * comando para pagar la cuenta 
	 */
	private final static String PAGAR ="PAGAR";
	/**
	 * campo de texto para los nombres del propietario
	 */
	private JTextField txtNombres;
	/**
	 * campo de texto para los apelldos del propietario
	 */
	private JTextField txtApellidos;
	/**
	 * campo de texto para la identificacion del propietario
	 */
	private JTextField txtCedula;
	/**
	 * campo de texto para el saldo del la cuetna
	 */
	private JTextField txtSaldo;
	/**
	 * relacion con el frame principal
	 */
	private InterfazClinica principal;

	

	/**
	 * Create the dialog.
	 */
	public DialogoConsultarSaldoCuenta(InterfazClinica ventana,String pIdentificacion) {
		super(ventana,true);
		principal=ventana;
		
		setTitle("Consulta Saldo de la Cuenta");
		setBounds(100, 100, 483, 236);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		contentPanel.setLayout(null);
		
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null), "Informacion Propietario", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel.setBounds(10, 11, 447, 105);
		contentPanel.add(panel);
		panel.setLayout(null);
		
		JLabel lblNombres = new JLabel("Nombres");
		lblNombres.setBounds(10, 25, 62, 14);
		panel.add(lblNombres);
		
		JLabel lblApellidos = new JLabel("Apellidos");
		lblApellidos.setBounds(10, 50, 62, 14);
		panel.add(lblApellidos);
		
		JLabel lblIdentificacion = new JLabel("Cedula");
		lblIdentificacion.setBounds(10, 75, 74, 14);
		panel.add(lblIdentificacion);
		
		txtNombres = new JTextField();
		txtNombres.setEditable(false);
		txtNombres.setBounds(82, 22, 355, 20);
		panel.add(txtNombres);
		txtNombres.setColumns(10);
		
		txtApellidos = new JTextField();
		txtApellidos.setEditable(false);
		txtApellidos.setBounds(82, 47, 355, 20);
		panel.add(txtApellidos);
		txtApellidos.setColumns(10);
		
		txtCedula = new JTextField();
		txtCedula.setEditable(false);
		txtCedula.setBounds(82, 72, 355, 20);
		panel.add(txtCedula);
		txtCedula.setColumns(10);
		
		JLabel lblSaldo = new JLabel("Saldo: ");
		lblSaldo.setBounds(20, 130, 77, 14);
		contentPanel.add(lblSaldo);
		
		txtSaldo = new JTextField();
		txtSaldo.setEditable(false);
		txtSaldo.setBounds(90, 127, 146, 20);
		contentPanel.add(txtSaldo);
		txtSaldo.setColumns(10);
		
		JButton btnPagar = new JButton("Pagar");
		btnPagar.setActionCommand(PAGAR);
		btnPagar.addActionListener(this);
		btnPagar.setBounds(270, 126, 89, 23);
		contentPanel.add(btnPagar);
		
		actulizarDatos(pIdentificacion);
	}


	public void actulizarDatos(String pIdentString)
	{
		Propietario p = principal.buscarClientePorIdentificacion(pIdentString);
		txtNombres.setText(p.getNombres());
		txtApellidos.setText(p.getApellidos());
		txtCedula.setText(p.getIdentificacion());
		try {
			txtSaldo.setText(p.getCuenta().getSaldo()+"");
		} catch (InstantiationException e) {
			JOptionPane.showMessageDialog(null,"Error al consultar el saldo del cuenta"+"\n"+e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
		} catch (IllegalAccessException e) {
			JOptionPane.showMessageDialog(null,"Error al consultar el saldo del cuenta"+"\n"+e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
		} catch (ClassNotFoundException e) {
			JOptionPane.showMessageDialog(null,"Error al consultar el saldo del cuenta"+"\n"+e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null,"Error al consultar el saldo del cuenta"+"\n"+e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
		}
	}
	
	@Override
	public void actionPerformed(ActionEvent e) 
	{
		if(e.getActionCommand().equals(PAGAR))
		{
			String ce = JOptionPane.showInputDialog(null, "Ingrese la Cedula del Propietario: ","Agregar Consulta",JOptionPane.QUESTION_MESSAGE);
			if(ce.equalsIgnoreCase(""))
			{
				JOptionPane.showMessageDialog(null,"La cedula Ingresada no puede ser vacia!!" ,"Error",JOptionPane.ERROR_MESSAGE);
			}
			else
			{
				dispose();
				DialogoPagoFactura d = new DialogoPagoFactura(principal, ce);
				d.setModal(true);
				d.setVisible(true);
			}
		}
		
	}
}
